Network processors may generate memory accesses to data on byte-aligned addresses and with widely-variable, byte-granularity length. In contrast, general purpose processors often use memory systems with caches and thus generate memory accesses that are aligned to fall within single cache lines and are performance optimized for full cache line, aligned access.